<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
  /**
   * 有这样一个需求
   *
   * 2次网络请求 才能进行下一步操作
   * 按照以前的做法
   *
   * 其实并不知道那个先执行完
   */
  let firstFlag=false;
  let secondFlag=false;
  //第1次网络请求，消耗1秒
  setTimeout(()=>{
    console.log("第1次完成");
    firstFlag=true
    handler()
  },1000)

  //第2次网络请求，消耗1秒
  setTimeout(()=>{
    console.log("第2次完成");
    secondFlag=true
    handler()
  },1000)

  function handler(){
    if(firstFlag && secondFlag){
      //2次网络请求都完成啦
      console.log("2次网络请求都完成啦");
    }
  }


  //promise all的用法  暂时不考虑异常   不需要考虑变量判断
  Promise.all([new Promise(reject=>{
    setTimeout(()=>{
      reject("第1次完成-------")
    },1000)
  }),new Promise(reject=>{
    setTimeout(()=>{
      reject("第2次完成-------")
    },1000)
  })]).then(datas=>{
    console.log(datas[0]);
    console.log(datas[1]);
    console.log("2次网络请求都完成啦---");
  })

</script>
</body>
</html>